﻿/**
 * @file MsgHandler.h
 * @brief 抽象消息处理类。负责接收网络数据
 * @mainpage 工程概览
 * @author ouyj 
 * @date [2019年4月19日]
 * @version 版本号 
 * @修改历史
 * 修改者|修改历史|版本|修改说明
 * --|--|--|--|
 * @license 广东启教科技有限公司
 */
#pragma once
#pragma once
#include <stdint.h>
#include <string>
#include "Session.h"
#include <memory>
class CMsgHandler;
typedef std::shared_ptr<CMsgHandler> CMsgHandlerPtr;
class CMsgHandler
{
public:
	CMsgHandler();
	virtual ~CMsgHandler();
	/**
	* @brief 处理来自网络的流数据
	* @param IN char* rep				接收数据的起始指针
	* @param IN int32_t len			数据长度
	* @param OUT SBuf*  rsp			给网络对端返回数据的缓冲区指针
	* @return 无
	* @note 注意
	* @see  HandleMsg
	*/
	virtual void HandleMsg(SessionPtr session, char* req, int32_t len) = 0;
	/**
	* @brief 处理连接状态
	* @param uint64_t status	处理网络连接状态。1：连接成功 2：连接失败
	* @param OUT SBuf*  rsp	网络连接成功后，给网络对端返回应答数据
	* @return 无
	* @note 注意
	* @see  HandleConnStatus
	*/
};

